- 
  Notifications
 You must be signed in to change notification settings 
- Fork 483
Reduce crate size by excluding fuzz/ and record/ #1281
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
 
  Merged
 
 
 
 
  Merged
 
 
 
 
 
 +1
 
 
 −1
 
 
 
 
 
 
 
Conversation
 
 
 This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
 Learn more about bidirectional Unicode characters
 
 
 
 
 The fuzz/ and record/ directories are about 2MiB, and are not used by the end user. This removes them from the crate for future publishes. Also, this avoids risk of an [xz-style attack] leveraging the binary files produced by fuzzing, where malicious code could be slipped in past review through binary test data. [zx-style attack]: https://en.wikipedia.org/wiki/XZ_Utils_backdoor
 BurntSushi
 
  
 
 
 BurntSushi
 
 
 approved these changes
 
 
 Aug 23, 2025 
 
 
 
 
 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
 
 erickt 
 added a commit
 to erickt/regex
 that referenced
 this pull request
 
 Aug 25, 2025 
 
 
 
 
 
 
 
 
I missed more binary test data `tests/fuzz/` in rust-lang#1281, which should remove another 56KiB from the regex crate.
 
 weiznich 
 added a commit
 to GiGainfosystems/regex
 that referenced
 this pull request
 
 Oct 14, 2025 
 
 
 
 
 
 
 
 
During a dependency review I noticed that regex-automata includes binary fuzzing and test data. These files are not required for building regex-automata as dependency and make it a hard to review the code. This is similar to rust-lang#1281 This commit introduces a `include` directive in the `Cargo.toml` file to explicitly include only those files required to build `regex-automata`. This excludes the test directory and also reduces the size of the published crate from 122 files, 2.6MiB (610.6KiB compressed) to 77 files, 2.5MiB (584.0KiB compressed) which results in a 150 GB/month traffic reduction for crates.io assuming the current 6 million/month downloads and the difference in the compressed package size.
 
 Sign up for free
 to join this conversation on GitHub.
 Already have an account?
 Sign in to comment
 
 
 Add this suggestion to a batch that can be applied as a single commit.
 This suggestion is invalid because no changes were made to the code.
 Suggestions cannot be applied while the pull request is closed.
 Suggestions cannot be applied while viewing a subset of changes.
 Only one suggestion per line can be applied in a batch.
 Add this suggestion to a batch that can be applied as a single commit.
 Applying suggestions on deleted lines is not supported.
 You must change the existing code in this line in order to create a valid suggestion.
 Outdated suggestions cannot be applied.
 This suggestion has been applied or marked resolved.
 Suggestions cannot be applied from pending reviews.
 Suggestions cannot be applied on multi-line comments.
 Suggestions cannot be applied while the pull request is queued to merge.
 Suggestion cannot be applied right now. Please check back later.
 
 
 
 
Uh oh!
There was an error while loading. Please reload this page.
The fuzz/ and record/ directories are about 2MiB, and are not used by the end user. This removes them from the crate for future publishes.
Also, this avoids risk of an xz-style attack leveraging the binary files produced by fuzzing, where malicious code could be slipped in past review through binary test data.